package com.coin.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.coin.domain.Market;
import com.coin.dto.MarketDto;

import java.util.List;

/**
 * @author 李力
 * @description 针对表【market(交易对配置信息)】的数据库操作Service
 * @createDate 2025-06-20 14:51:04
 */
public interface MarketService extends IService<Market> {

    /**
     * @Description: 交易市场的分页查询
     * @Author: 李 力
     * @Date: 2025/6/20
     * @Param:
     * @return: R
     */
    Page<Market> findByPage(Page<Market> page, Long tradeAreaId, Byte status);

    /**
     * @Description: 启用/禁用交易市场
     * @Author: 李 力
     * @Date: 2025/6/20
     * @Param:
     * @return: R
     */
    boolean setStatus(Market market);

    /**
     * @Description: 新增一个市场
     * @Author: 李 力
     * @Date: 2025/6/20
     * @Param:
     * @return: R
     */
    boolean saveMarket(Market market);

    /**
     * @Description: 修改一个市场
     * @Author: 李 力
     * @Date: 2025/6/20
     * @Param:
     * @return: R
     */
    boolean updateMarket(Market market);

    /**
     * @Description: 查询所有的交易市场
     * @Author: 李 力
     * @Date: 2025/6/20
     * @Param:
     * @return: R
     */
    List<Market> listMarket();

    List<Market> getMarkets(Long id);

    Market getMarkerBySymbol(String symbol);

    MarketDto findByCoinId(Long buyCoinId, Long sellCoinId);
}
